2.17 NuGet 本地调试包
私有 NuGet 平台搭建搭建私有 NuGet 服务器是为了在企业内部或者团队之间管理和分发私有软件包,这些包可能包含了专有的代码库或敏感的组件,不适合公开发布到公共的 NuGet.org。那么可以使用 BaGet 来搭建私有 NuGet 服务器:
https://github.com/loic-sharma/BaGet
搭建后可通过下列脚本发布:
# 支持 .nupkg 和 .snupkg 包
dotnet nuget push -s http://localhost:5000/v3/index.json Furion.1.0.0.nupkg
2.17.1 关于本地测试包
正常情况下,我们都是通过 NuGet 在线平台(Visual Studio 内置的 NuGet 包管理器)安装拓展依赖,但有时候我们不希望发布到 NuGet 平台或者只想在本地使用又或者先在本地测试通过再发布。
这样做的好处是:
- 可以有效保护公司核心代码
- 方便开源项目测试
2.17.2 如何配置
2.17.2.1 测试包命名规则
默认情况下,Furion 会根据 Furion.版本号-beta.Issue编号 规则生成 .nupkg 和 .snupkg 包,前者是不包含调试的无符号 NuGet 包,后者则是调试符号包(方便 IDE 调试用的),如:
D:\Furion_NuGet_Test_Packages
Furion.4.2.3-beta-I5MM3O.nupkg
Furion.4.2.3-beta-I5MM3O.snupkg
其中 I5MM3O 对应的正是 Issue 的编号:https://gitee.com/dotnetchina/Furion/issues/I5MM3O
2.17.2.2 配置本地包路径
有了这两个包之后,就可以在本地磁盘中创建文件夹并放进去,如 D:\Furion_NuGet_Test_Packages。

2.17.2.3 在 Visual Studio 中配置路径
关于命令行操作如果不使用可视化 IDE 配置,可通过下列命令行配置:
dotnet restore "YourProject.Web.Entry/YourProject.Web.Entry.csproj" -s "D:\Furion_NuGet_Test_Packages";
dotnet restore "YourProject.Web.Entry/YourProject.Web.Entry.csproj" -s "https://api.nuget.org/v3/index.json";
2.17.2.4 选择测试版安装或更新

测试通过后可以删除之前的配置即可,如:

2.17.3 Visual Studio 调试 NuGet 包
Furion 提供了 .snupkg 包,在安装 Furion 的时候自动下载到本地,如需启用源码调试,只需要启用以下配置即可:
启用之后重新编译解决方案就可以通过 F12 跳转到源代码区并调试源代码了。
2.17.4 反馈与建议
与我们交流给 Furion 提 Issue。